There is a growing interest in applying robots in production for small or medium size production lines, where the production process needs to be adapted or modified more often. In these production cases it can be difficult to justify implementation of a robotic system due to system programming costs. One of the reasons for high cost is that the robot programming needs to be performed by a skilled technician.
Recently, robot manufactures have introduced new and improved interfaces for programming robots. Such interfaces are, for instance, kinesthetic guidance or the use of a teaching pendant to control individual joints.
Often when programming a robot by using one of the above mentioned interfaces, the robot operator manually moves the robot to a plurality of points along the path in order to teach the robot the desired robot path. This process is time consuming and tedious.
For most industrial robots there is no unique path in joint space for moving the tool centre point along a given path in the Cartesian space. In general, there are infinitely many joint space paths that achieve the desired tool centre point path. Since inverse kinematics of industrial robots are undetermined, the problem is often cast as an optimization problem. Here, the tool centre point path should be followed while at the same time a goal function is maximized. The goal function can range between staying away from joint limits to avoiding singularities or physically obstacles.
To overcome these issues, recent developments in technology have enabled the possibility to implement realtime and fast teleoperation of an industrial robot. During teleoperation the user of the robotic system manipulates the teleoperation device and hereby manipulates the robotic system.
The advantages of using teleoperation compared to the control modes mentioned above are that the Cartesian space control of the robot becomes more intuitive to teach for the user.
However, a major problem with existing robots is that the robot control point depends on whether the arm is moved by itself, with a small object or with a long object. For instance, the operator cannot easily teach the robot arm to move an object held by the robot arm entirely based on movements relative to the tool center point. In case of a long object held at one end by the robot arm and intended to be moved precisely with the other end (e.g. the other end of the object has some means that should be connected precisely to something), it is extremely difficult for the operator to teach the robot arm to move the other end precisely. Furthermore, learning how to manipulate long objects from the movements controlled at the center point is next to impossible.
One of the limitations of the current teleoperation systems is therefore that they rely on controlling a single point of interest during teaching mode. For advanced industrial assembly tasks it is important to be able to switch between different control points.
The present invention facilitates the switching between robot control points and thus reduces the time needed for teaching the robot a robot path and provides more accurate training data for learning by demonstration.